import { Util } from '../../utils/util.js';

export class CommodityCategory {
    /**
     * @param {string} id - ID
     * @param {string} name - 名称
     */
    constructor(id = '', name = '') {
        this.id = id;
        this.name = name;
    }

    // 空实例
    static empty() {
        return new CommodityCategory('', '');
    }

    // 克隆方法
    static clone(unit) {
        return new CommodityCategory(unit.id, unit.name);
    }

    // 从 JSON 构建
    static fromJson(json) {
        return new CommodityCategory(
            Util.jsonToString(json.id),
            Util.jsonToString(json.categoryName)
        );
    }

    // 从值构建
    static fromJsonValue({ id, name }) {
        return new CommodityCategory(
            Util.jsonToString(id),
            Util.jsonToString(name),
        );
    }
}
